package org.intellij.plugins.relaxNG.xml.dom;

import com.intellij.psi.xml.XmlElement;
import com.intellij.util.xml.DomElement;
import com.intellij.util.xml.SubTag;
import org.intellij.plugins.relaxNG.model.Pattern;
import org.jetbrains.annotations.NotNull;

public abstract interface RngOpenPattern
  extends DomElement, Pattern<XmlElement>
{
  @NotNull
  public abstract RngElement getElement();
  
  @NotNull
  public abstract RngAttribute getAttribute();
  
  @NotNull
  public abstract RngGroup getGroup();
  
  @SubTag("interleave")
  @NotNull
  public abstract RngInterleave getInterleave();
  
  @NotNull
  public abstract RngChoice getChoice();
  
  @NotNull
  public abstract RngOptional getOptional();
  
  @NotNull
  public abstract RngZeroOrMore getZeroOrMore();
  
  @NotNull
  public abstract RngOneOrMore getOneOrMore();
  
  @NotNull
  public abstract RngList getList();
  
  @NotNull
  public abstract RngMixed getMixed();
  
  @NotNull
  public abstract RngRef getRef();
  
  @NotNull
  public abstract RngParentRef getParentRef();
  
  @NotNull
  public abstract RngEmpty getEmpty();
  
  @NotNull
  public abstract RngText getText();
  
  @NotNull
  public abstract RngValue getValue();
  
  @NotNull
  public abstract RngData getData();
  
  @NotNull
  public abstract RngNotAllowed getNotAllowed();
  
  @NotNull
  public abstract RngExternalRef getExternalRef();
  
  @NotNull
  public abstract RngGrammar getGrammar();
}


/* Location:           E:\idea\
 * Qualified Name:     org.intellij.plugins.relaxNG.xml.dom.RngOpenPattern
 * JD-Core Version:    0.7.0.1
 */